|
;見えないバッファ画面
buffer 1
;黒色塗りつぶし
color
boxf
;球体イメージ1を描画
repeat 18
hsvcolor 0,200-cnt*10,255
circle cnt,cnt,50-cnt*2,50-cnt*2
loop
;球体イメージ2を描画
repeat 18
hsvcolor 130,200-cnt*10,255
circle 50+cnt,cnt,100-cnt*2,50-cnt*2
loop
;球体イメージ3を描画
repeat 18
hsvcolor 30,200-cnt*10,255
circle 100+cnt,cnt,150-cnt*2,50-cnt*2
loop
;メイン画面
screen 0,400,300
dim flag,3
;球体の位置
randomize
repeat 3
pos_x.cnt=rnd(350)
pos_y.cnt=rnd(250)
loop
;球体移動量
value_move=5
; 黒透過
gmode 2
repeat
;画面反映を停止
redraw 0
;黒色の塗りつぶし
color 0,0,0
boxf
repeat 3
;右下
if flag.cnt=0{
pos_x.cnt+=value_move
pos_y.cnt+=value_move
if pos_x.cnt>=350 : flag.cnt=3
if pos_y.cnt>=250 : flag.cnt=2
goto *@f
}
;左上
if flag.cnt=1{
pos_x.cnt-=value_move
pos_y.cnt-=value_move
if pos_x.cnt<=0 : flag.cnt=2
if pos_y.cnt<=0 : flag.cnt=3
goto *@f
}
;右上
if flag.cnt=2{
pos_x.cnt+=value_move
pos_y.cnt-=value_move
if pos_x.cnt>=350 : flag.cnt=1
if pos_y.cnt<=0 : flag.cnt=0
goto *@f
}
;左下
if flag.cnt=3{
pos_x.cnt-=value_move
pos_y.cnt+=value_move
if pos_x.cnt<=0 : flag.cnt=0
if pos_y.cnt>=250 : flag.cnt=1
goto *@f
}
*@
;球体イメージをバッファ画面からコピー
pos pos_x.cnt,pos_y.cnt
gcopy 1, 50*cnt, 0, 50, 50
loop
;画面反映を再開
redraw 1
await 32
loop
|